using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("FullDef")]
	public class FullDef : MonoClass
	{
		public EntityDef m_entityDef => method_3<EntityDef>("m_entityDef");

		public CardDef m_cardDef => method_3<CardDef>("m_cardDef");

		public FullDef(IntPtr address, string className)
			: base(address, className)
		{
		}

		public FullDef(IntPtr address)
			: this(address, "FullDef")
		{
		}

		public bool IsEmpty()
		{
			return method_11<bool>("IsEmpty", Array.Empty<object>());
		}

		public EntityDef GetEntityDef()
		{
			return method_14<EntityDef>("GetEntityDef", Array.Empty<object>());
		}

		public void SetEntityDef(EntityDef entityDef)
		{
			method_8("SetEntityDef", entityDef);
		}

		public CardDef GetCardDef()
		{
			return method_14<CardDef>("GetCardDef", Array.Empty<object>());
		}

		public void SetCardDef(CardDef cardDef)
		{
			method_8("SetCardDef", cardDef);
		}
	}
}
